package com.nmf.site.biz.applybill.service;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;

import com.alibaba.fastjson.JSON;
import com.nmf.dao.gen.bean.BizApplyBill;
import com.nmf.site.biz.applybill.vo.BillZhuanjiaVo;
import com.nmf.site.biz.applybill.vo.ZhuajiaInfoVo;
import com.nmf.site.common.utils.StringUtils;
import com.nmf.site.modules.sys.utils.UserUtils;

public class BillZhuanjiaService {
	public static BillZhuanjiaVo formatBillZhuanjia(BizApplyBill bizApplyBill) {
		BillZhuanjiaVo billZhuanjiaVo = new BillZhuanjiaVo();
		
		BeanUtils.copyProperties(bizApplyBill, billZhuanjiaVo);
		
		
		if(StringUtils.isNotBlank(bizApplyBill.getZhuyingShouruZhuanjia())) {
			String zhuyingshouru = bizApplyBill.getZhuyingShouruZhuanjia();
			ZhuajiaInfoVo zhuajiaInfoVo = JSON.parseObject(zhuyingshouru,ZhuajiaInfoVo.class);
			
			billZhuanjiaVo.setZhuyingShouruZhuanjiaVo(zhuajiaInfoVo);
		}
		
		if(StringUtils.isNotBlank(bizApplyBill.getJinfeiZhichuZhuanjia())) {
			String jinfeiZhichuZhuanjia = bizApplyBill.getJinfeiZhichuZhuanjia();
			ZhuajiaInfoVo zhuajiaInfoVo = JSON.parseObject(jinfeiZhichuZhuanjia,ZhuajiaInfoVo.class);
			
			billZhuanjiaVo.setJinfeiZhichuZhuanjiaVo(zhuajiaInfoVo);
		}
		
		if(StringUtils.isNotBlank(bizApplyBill.getShbeiZhuanjia())) {
			String shbeiZhuanjia = bizApplyBill.getShbeiZhuanjia();
			ZhuajiaInfoVo zhuajiaInfoVo = JSON.parseObject(shbeiZhuanjia,ZhuajiaInfoVo.class);
			
			billZhuanjiaVo.setShbeiZhuanjiaVo(zhuajiaInfoVo);
		}
		
		if(StringUtils.isNotBlank(bizApplyBill.getNewGsellZhuanjia())) {
			String newGsellZhuanjia = bizApplyBill.getNewGsellZhuanjia();
			ZhuajiaInfoVo zhuajiaInfoVo = JSON.parseObject(newGsellZhuanjia,ZhuajiaInfoVo.class);
			
			billZhuanjiaVo.setNewGsellZhuanjiaVo(zhuajiaInfoVo);
		}
		
		if(StringUtils.isNotBlank(bizApplyBill.getNewSellProhibtZhuanjia())) {
			String newSellProhibtZhuanjia = bizApplyBill.getNewSellProhibtZhuanjia();
			ZhuajiaInfoVo zhuajiaInfoVo = JSON.parseObject(newSellProhibtZhuanjia,ZhuajiaInfoVo.class);
			
			billZhuanjiaVo.setNewSellProhibtZhuanjiaVo(zhuajiaInfoVo);
		}
		
		if(StringUtils.isNotBlank(bizApplyBill.getAllProhibtZhuanjia())) {
			String allProhibtZhuanjia = bizApplyBill.getAllProhibtZhuanjia();
			ZhuajiaInfoVo zhuajiaInfoVo = JSON.parseObject(allProhibtZhuanjia,ZhuajiaInfoVo.class);
			
			billZhuanjiaVo.setAllProhibtZhuanjiaVo(zhuajiaInfoVo);
		}
		
		return billZhuanjiaVo;
	}
	
	
	public static void setZJinfos(BizApplyBill bizApplyBill) {
		String uid = "";
		String uname = "";
		if(StringUtils.isNotBlank(UserUtils.getUser().getId())) {
			uid = UserUtils.getUser().getId();
			uname = UserUtils.getUser().getName();
		}
		
		
		if(bizApplyBill.getZhuyingShouruZj()!=null) {
			ZhuajiaInfoVo zhuajiaInfoVo = new ZhuajiaInfoVo();
			zhuajiaInfoVo.setYuanzhi(bizApplyBill.getZhuyingShouru());
			zhuajiaInfoVo.setZhuajiaId(uid);
			zhuajiaInfoVo.setZhuajianame(uname);
			zhuajiaInfoVo.setZhuajiaSuggest(bizApplyBill.getZhuyingShouruZj());
			
			bizApplyBill.setZhuyingShouruZhuanjia(JSON.toJSONString(zhuajiaInfoVo));
		}
		
		if(bizApplyBill.getJinfeiZhichuZj()!=null) {
			
			ZhuajiaInfoVo zhuajiaInfoVo = new ZhuajiaInfoVo();
			zhuajiaInfoVo.setYuanzhi(bizApplyBill.getJinfeiZhichu());
			zhuajiaInfoVo.setZhuajiaId(uid);
			zhuajiaInfoVo.setZhuajianame(uname);
			zhuajiaInfoVo.setZhuajiaSuggest(bizApplyBill.getJinfeiZhichuZj());
			
			bizApplyBill.setJinfeiZhichuZhuanjia(JSON.toJSONString(zhuajiaInfoVo));
			
		}
		
		if(bizApplyBill.getShbeiPriceZj()!=null) {
			
			ZhuajiaInfoVo zhuajiaInfoVo = new ZhuajiaInfoVo();
			zhuajiaInfoVo.setYuanzhi(bizApplyBill.getShbeiPrice());
			zhuajiaInfoVo.setZhuajiaId(uid);
			zhuajiaInfoVo.setZhuajianame(uname);
			zhuajiaInfoVo.setZhuajiaSuggest(bizApplyBill.getShbeiPriceZj());
			
			bizApplyBill.setShbeiZhuanjia(JSON.toJSONString(zhuajiaInfoVo));
			
		}
		
		if(bizApplyBill.getNewGoodSellZj()!=null) {
			
			ZhuajiaInfoVo zhuajiaInfoVo = new ZhuajiaInfoVo();
			zhuajiaInfoVo.setYuanzhi(bizApplyBill.getNewGoodSell());
			zhuajiaInfoVo.setZhuajiaId(uid);
			zhuajiaInfoVo.setZhuajianame(uname);
			zhuajiaInfoVo.setZhuajiaSuggest(bizApplyBill.getNewGoodSellZj());
			
			bizApplyBill.setNewGsellZhuanjia(JSON.toJSONString(zhuajiaInfoVo));
			
		}
		
		if(bizApplyBill.getNewSellProhibtZj()!=null) {
			ZhuajiaInfoVo zhuajiaInfoVo = new ZhuajiaInfoVo();
			zhuajiaInfoVo.setYuanzhi(bizApplyBill.getNewSellProhibt());
			zhuajiaInfoVo.setZhuajiaId(uid);
			zhuajiaInfoVo.setZhuajianame(uname);
			zhuajiaInfoVo.setZhuajiaSuggest(bizApplyBill.getNewSellProhibtZj());
			
			bizApplyBill.setNewSellProhibtZhuanjia(JSON.toJSONString(zhuajiaInfoVo));
		}
		
		if(bizApplyBill.getAllProhibtZj()!=null) {
			ZhuajiaInfoVo zhuajiaInfoVo = new ZhuajiaInfoVo();
			zhuajiaInfoVo.setYuanzhi(bizApplyBill.getAllProhibt());
			zhuajiaInfoVo.setZhuajiaId(uid);
			zhuajiaInfoVo.setZhuajianame(uname);
			zhuajiaInfoVo.setZhuajiaSuggest(bizApplyBill.getAllProhibtZj());
			
			bizApplyBill.setAllProhibtZhuanjia(JSON.toJSONString(zhuajiaInfoVo));
		}
	}
}
